Data wydania stabilnej wersji: 27 maja 2025 r.
O ile nie zaznaczono inaczej, poniższe zmiany dotyczą wersji 137 Chrome na kanale stabilnym na Androida, ChromeOS, Linuxa, macOS i Windowsa.
CSS i UI
Funkcja CSS if()
Funkcja CSS if()
umożliwia zwięzłe wyrażanie wartości warunkowych. Akceptuje ona serię par warunek–wartość, rozdzielonych przecinkami. Funkcja sprawdza kolejno każdy warunek i zwraca wartość powiązaną z pierwszym spełnionym warunkiem. Jeśli żaden z warunków nie zwraca wartości prawda, funkcja zwraca pusty strumień tokenów. Dzięki temu możesz wyrażać złożoną logikę warunkową w prosty i zwięzły sposób.
Przykład:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
Śledzenie błędu #346977961 | Wpis na stronie ChromeStatus.com | Specyfikacja
Właściwości CSS reading-flow
, reading-order
Właściwość CSS reading-flow
określa kolejność, w jakiej elementy w układzie flex, kratce lub bloku są udostępniane narzędziom ułatwień dostępu i skupiane za pomocą klawisza tabulacji.
Właściwość CSS reading-order
pozwala autorom ręcznie zastąpić kolejność w kontenerze ścieżki czytania. Jest to liczba całkowita o wartości domyślnej 0
.
Więcej informacji o tych właściwościach znajdziesz w artykule Używanie sekwencyjnej nawigacji z punktami skupienia w usługach porównywania cen oraz w przykładach.
Śledzenie błędu #40932006 | Wpis na stronie ChromeStatus.com | Specyfikacja
Ignorowanie odstępów między literami w skryptach kursywy
Ta funkcja dodaje logikę, która ignoruje ustawienie odstępu między literami w przypadku skryptów kursywystycznych zgodnie z określeniami dewelopera, aby zapewnić, że odstęp między literami nie zakłóca struktury wyrazów i aby zapewnić lepsze wrażenia użytkownika korzystającego ze skryptów kursywystycznych.
Dzięki tej funkcji Chrome zapewnia czytelność czcionek kursywy i odpowiednie odstępy między znakami, nawet jeśli czcionki nie mają zaawansowanych funkcji typograficznych.
W przypadku Chromium dotyczy to skryptów: arabskiego, hanifijskiego, mandajskiego, mongolskiego, phags-pa, syryjskiego, ponieważ zgodnie ze specyfikacją są one uznawane za kursywę.
Śledzenie błędu #40618336 | Wpis na stronie ChromeStatus.com | Specyfikacja
Interfejs Selection API getComposedRanges
i direction
Ta funkcja zawiera 2 nowe metody interfejsu Selection API:
Selection.direction
, która zwraca kierunek zaznaczenia jakonone
,forward
lubbackward
.Selection.getComposedRanges()
, która zwraca listę 0 lub 1 składowąStaticRange
Składany element StaticRange
może przekraczać granice cienia, czego nie może robić zwykły element Range
.
Na przykład:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Jeśli zaznaczenie przekracza granicę katalogu głównego cienia, która nie jest podana na liście shadowRoots
, punkty końcowe StaticRange
zostaną przeskalowane tak, aby znajdowały się poza tym drzewem. Dzięki temu Chrome nie ujawnia nieznanych drzew cieni.
Śledzenie błędu #40286116 | Wpis na stronie ChromeStatus.com | Specyfikacja
Wesprzyj kanał offset-path: shape()
Obsługa offset-path: shape()
, aby umożliwić użycie kształtów elastycznych do ustawienia ścieżki animacji.
Śledzenie błędu #389713717 | Wpis na stronie ChromeStatus.com | Specyfikacja
Obsługa atrybutu transform
w SVGSVGElement
Ta funkcja umożliwia zastosowanie właściwości przekształcania, takich jak skalowanie, obracanie, przesuwanie i pochylanie, bezpośrednio do elementu <svg>
za pomocą jego atrybutu transform
. Dzięki temu ulepszeniu możesz manipulować całym systemem współrzędnych SVG lub jego zawartością jako całością, co zapewnia większą elastyczność w tworzeniu dynamicznych, elastycznych i interakcyjnych grafik wektorowych. Dzięki obsłudze tego atrybutu element <svg>
może być przekształcany bez konieczności stosowania dodatkowych elementów opakowania ani skomplikowanych obejść komunikatów CSS, co upraszcza proces tworzenia skalowanych i animowanych grafik internetowych.
Śledzenie błędu #40313130 | Informacja na stronie ChromeStatus.com | Specyfikacja
Systemowy kolor uzupełniający dla właściwości accent-color
Dzięki temu możesz używać koloru uzupełniającego systemu operacyjnego w elementach formularza. Za pomocą właściwości CSS accent-color
możesz zapewnić, aby elementy formularza, takie jak pola wyboru, przyciski radiowe i paski postępu, automatycznie przyjmowały kolor akcentu zdefiniowany przez system operacyjny użytkownika. Ta funkcja jest obsługiwana w systemie macOS od 2021 r., a teraz jest dostępna także w systemach Windows i ChromeOS.
Śledzenie błędu #40764875 | Wpis na stronie ChromeStatus.com | Specyfikacja
Zezwalaj usłudze <use>
na odwoływanie się do elementu głównego dokumentu zewnętrznego przez pominięcie fragmentu.
Ta funkcja upraszcza element SVG <use>
, ponieważ łagodzi wymagania dotyczące odwoływania się do innych elementów. Przed wersją 137 przeglądarki Chrome trzeba było jawnie odwoływać się do fragmentów w dokumencie SVG. Jeśli nie podasz identyfikatora fragmentu, funkcja <use>
nie będzie mogła rozwiązać celu, a nic nie zostanie wyrenderowane ani wyświetlone.
Na przykład element <use>
odwołujący się do pliku zewnętrznego za pomocą identyfikatora fragmentu:
<svg>
<use xlink:href="myshape.svg#icon"></use>
</svg>
W tym przykładzie #icon
to identyfikator fragmentu wskazujący na element id="icon"
w myshape.svg
.
Bez identyfikatora fragmentu:
<svg>
<use xlink:href="myshape.svg"></use>
</svg>
Dzięki tej funkcji pominięcie fragmentów lub podanie tylko nazwy zewnętrznego pliku SVG powoduje automatyczne odwołanie do elementu głównego. Dzięki temu nie musisz zmieniać dokumentu, do którego się odwołujesz, tylko po to, aby przypisać identyfikator do elementu głównego. To ulepszenie upraszcza proces ręcznej edycji i zwiększa wydajność.
Śledzenie błędu #40362369 | Wpis na stronie ChromeStatus.com | Specyfikacja
Typy kolorów zmiennoprzecinkowych
Wprowadza możliwość używania formatów pikseli z liczbą zmiennoprzecinkową (w przeciwieństwie do 8-bitowej liczby zmiennoprzecinkowej) w funkcjach CanvasRenderingContext2D
, OffscreenCanvasRenderingContext2D
i ImageData
.
Jest to konieczne w przypadku aplikacji wymagających dużej dokładności (np. wizualizacji medycznej), treści o wysokim zakresie dynamiki i przestrzeni roboczej o kolorach liniowych.
Śledzenie błędu #40245602 | Wpis na stronie ChromeStatus.com | Specyfikacja
view-transition-name: match-element
Wartość match-element
generuje unikalny identyfikator na podstawie tożsamości elementu i zmienia nazwę tego elementu. Jest to używane w przypadku aplikacji jednostronicowych, w których element jest przenoszony i chcesz go animować za pomocą przejścia widoku.
Śledzenie błędu #365997248 | Wpis na stronie ChromeStatus.com | Specyfikacja
Płatności
Dopasowanie typu błędu zwracanego podczas tworzenia danych logowania WebAuthn (payment
): SecurityError
staje się NotAllowedError
.
Popraw typ błędu zwracany podczas tworzenia danych logowania WebAuthn dla danych logowania payment
. Ze względu na historyczne niezgodności specyfikacji tworzenie danych logowania payment
w ramce iframe w innej domenie bez aktywacji przez użytkownika powodowałoby zwracanie wartości SecurityError
zamiast NotAllowedError
, która jest zwracana w przypadku danych logowania niepłatnych.
Jest to zmiana zasadnicza, choć niszowa. Dotyczy to kodu, który wcześniej wykrył ten typ błędu (np. e instanceof SecurityError
).
Kod, który ogólnie obsługuje błędy podczas tworzenia danych logowania (np. catch (e)
), będzie nadal działał prawidłowo.
Informacje o błędzie #41484826 | Informacje na stronie ChromeStatus.com | Specyfikacja
Interfejsy Web API
Partycjonowanie adresów URL obiektów blob: pobieranie/nawigacja
W ramach kontynuacji partycjonowania miejsca na dane w Chrome wdrożyliśmy partycjonowanie dostępu do adresu URL bloba za pomocą klucza miejsca na dane (witryna najwyższego poziomu, źródło ramki i wartość logiczna has-cross-site-ancestor), z wyjątkiem nawigacji najwyższego poziomu, które pozostaną partycjonowane tylko według źródła ramki. Takie zachowanie jest podobne do tego, które jest obecnie stosowane przez przeglądarki Firefox i Safari, i dopasowuje użycie adresu URL bloba do schematu partycjonowania używanego przez inne interfejsy API pamięci masowej w ramach partycjonowania pamięci masowej. Chrome wymusza teraz użycie noopener w przypadku nawigacji do adresów URL blobów na najwyższym poziomie zainicjowanych przez renderera, gdy odpowiednia witryna jest witryną najwyższego poziomu, która wykonuje nawigację. Dzięki temu Chrome będzie działać podobnie jak Safari, a odpowiednie specyfikacje zostały zaktualizowane, aby odzwierciedlać te zmiany.
Śledzenie błędu #40057646 | Wpis na stronie ChromeStatus.com
Stosy wywołań w raportach o awariach z niedziałających stron internetowych
Ta funkcja rejestruje stos wywołań JavaScriptu, gdy strona internetowa przestaje odpowiadać z powodu wykonywania przez kod JavaScriptu nieskończonej pętli lub innej bardzo długiej operacji. Pomaga to deweloperom zidentyfikować przyczynę braku reakcji i łatwiej ją naprawić. Zrzut stosu wywołań JavaScriptu jest dołączany do interfejsu API zgłaszania awarii, gdy przyczyną jest brak odpowiedzi.
Śledzenie błędu #1445539 | Wpis na stronie ChromeStatus.com | Specyfikacja
Document-Isolation-Policy
Document-Isolation-Policy
pozwala dokumentowi samodzielnie włączyć crossOriginIsolation
bez konieczności wdrażania COOP lub COEP niezależnie od stanu crossOriginIsolation
strony. Zasady są obsługiwane przez izolację procesów. Dodatkowo podresury dokumentów z innych domen bez CORS będą ładowane bez poświadczeń lub będą musiały mieć nagłówek CORP.
Śledzenie błędu #333029146 | Wpis na stronie ChromeStatus.com | Specyfikacja
Ed25519
w kryptografii internetowej
Ta funkcja dodaje obsługę algorytmów Curve25519
w Web Cryptography API, w tym algorytmu podpisu Ed25519
.
Śledzenie błędu #1370697 | Wpis na stronie ChromeStatus.com | Specyfikacja
Zapobieganie śledzeniu za pomocą HSTS
Ogranicza śledzenie użytkowników przez osoby trzecie za pomocą pamięci podręcznej HSTS.
Ta funkcja zezwala na zmiany HSTS tylko w przypadku nawigacji na najwyższym poziomie, a blokuje je w przypadku żądań dotyczących zasobów podrzędnych. Dzięki temu witryny innych firm nie mogą używać pamięci podręcznej HSTS do śledzenia użytkowników w sieci.
Śledzenie błędu 40725781 | Wpis na stronie ChromeStatus.com
WebAssembly
Integracja obietnic JavaScript
Interfejs JavaScript Promise Integration (JSPI) to interfejs API, który umożliwia aplikacjom WebAssembly integrację z obietnicami JavaScript.
Umożliwia ona programowi WebAssembly działanie jako generator obietnicy oraz umożliwia programowi WebAssembly interakcję z interfejsami API obsługującymi obietnice.
W szczególności, gdy aplikacja używa JSPI do wywołania interfejsu API (JavaScript) z obietnicą, kod WebAssembly jest zawieszony, a pierwotnemu wywołującemu program WebAssembly przekazywana jest obietnica, która zostanie spełniona, gdy program WebAssembly zostanie w końcu ukończony.
Wskazówki dotyczące Branch dla WebAssembly
Poprawia wydajność skompilowanego kodu WebAssembly, informując silnik, że dana instrukcja odgałęzi jest bardzo prawdopodobna.
Umożliwia to silnikowi podejmowanie lepszych decyzji dotyczących rozmieszczenia kodu (co zwiększa liczbę trafień do pamięci podręcznej instrukcji) i przydziału rejestrów.
WebGPU
GPUTextureView
dla powiązania externalTexture
Podczas tworzenia GPUBindGroup
można teraz używać GPUTextureView
do wiązania externalTexture
.
Śledzenie błędu #398752857 | Wpis na stronie ChromeStatus.com | Specyfikacja
copyBufferToBuffer
przeciążenie
Metoda GPUCommandEncoder
copyBufferToBuffer()
umożliwia teraz prostsze kopiowanie całych buforów za pomocą nowego przeciążenia z opcjonalnymi parametrami przesunięcia i rozmiaru.
Enterprise
Rejestrowanie i raportowanie adresów IP
Chrome Enterprise zwiększa możliwości monitorowania zabezpieczeń i reagowania na incydenty, zbierając i zgłaszając adresy IP lokalne i zdalne oraz wysyłając te adresy do dzienników Security Investigation Logs (SIT). Ponadto Chrome Enterprise umożliwi administratorom opcjonalne wysyłanie adresów IP do dostawców SIEM Google i innych firm za pomocą oprogramowania sprzęgającego do raportowania Chrome Enterprise.
Ta funkcja jest dostępna dla klientów Chrome Enterprise Core.
Informacja na stronie ChromeStatus.com
Wersje próbne Origin
Atrybut blokowania renderowania pełnej liczby klatek
Do atrybutów blokujących dodaje nowy token blokujący renderowanie full-frame-rate
.
Gdy procesor jest zablokowany za pomocą tokena full-frame-rate
, będzie działać z niższą częstotliwością klatek, aby zarezerwować więcej zasobów na wczytywanie.
Śledzenie błędu 397832388 | Informacja na stronie ChromeStatus.com
Wstrzymywanie odtwarzania multimediów w nierenderowanych iframe’ach
Dodaje zasadę uprawnień media-playback-while-not-rendered
, aby umożliwić witrynom, które umieszczają treści, wstrzymywanie odtwarzania multimediów w osadzonych elementach iframe, które nie są renderowane, czyli mają właściwość display
ustawioną na none
. Dzięki temu deweloperzy będą mogli tworzyć bardziej przyjazne użytkownikom treści, a także zwiększać wydajność, pozwalając przeglądarce obsługiwać odtwarzanie treści, które nie są widoczne dla użytkowników.
Testowanie wersji Origin | Śledzenie błędu #351354996 | Wpis na stronie ChromeStatus.com
Rewriter API
Interfejs Rewriter API przekształca i przeformułowuje tekst wejściowy w wybrany sposób, korzystając z modelu językowego AI na urządzeniu. Deweloperzy mogą używać tego interfejsu API, aby usuwać w tekście powtórzenia, aby zmieścić się w limitie znaków, przeformułować wiadomości, aby pasowały do docelowej grupy odbiorców, lub aby były bardziej konstruktywne, jeśli zostanie stwierdzone, że wiadomość zawiera toksyczny język. Mogą też przeformułować post lub artykuł, aby używać prostszych słów i koncepcji.
Origin Trial | Śledzenie błędu #358214322 | Wpis na stronie ChromeStatus.com | Specyfikacja
Interfejs Writer API
Interfejs Writer API może służyć do tworzenia nowych materiałów na podstawie promptu zadania pisania, przy użyciu modelu językowego AI na urządzeniu. Deweloperzy będą mogli używać tego interfejsu API do generowania tekstowych wyjaśnień uporządkowanych danych, tworzenia postów o produkcie na podstawie opinii lub opisu produktu, rozszerzania list zalet i wad o pełne widoki itp.
Testowanie wersji Origin | Śledzenie błędu #357967382 | Wpis na stronie ChromeStatus.com | Specyfikacja